package com.sjq.service;

import com.sjq.model.entity.User;
import com.sjq.model.request.GetUserRequest;
import com.sjq.model.request.UserDto;
import com.sjq.model.request.UserRequest;

import java.util.List;

/**
 *
 * @author dolyw.com
 * @date 2021/12/9 15:44
 */
public interface IUserService extends IBaseService<UserDto> {

    /**
     * 查找用户状态
     * @param account
     * @return
     */
    int getStatusByAccount(String account);

    /**
     * 插入用户信息
     * @param user
     */
    int insertUser(User user);

    /**
     * 查询需要审核的用户
     * @return
     */
    List<User> getUnAuthorizedUserList();

    /**
     * 更新用户状态
     * @param user
     */
    int updateStatus(User user);

    /**
     * 加入用户角色表
     * @param userId
     * @param roleId
     */
    int insertUserRole(Long userId, Long roleId);


    /**
     * 通过id查找用户信息
     * @param id
     * @return
     */
    UserDto selectById(Integer id);

    /**
     * 插入专家分类表
     * @param userId
     * @param classificationId
     */
    int insertExpertClassification(Long userId, Long classificationId);


    List<String> getRoleById(Long userId);

    List<UserRequest> selectUser(GetUserRequest baseDto);
}
